//package com.cmf.myproject.service.sysShortCut;
//
//import java.text.ParseException;
//import java.text.SimpleDateFormat;
//import java.util.List;
//
//import org.apache.commons.lang3.StringUtils;
//import org.springframework.beans.BeanUtils;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.transaction.annotation.Transactional;
//
//import com.cmf.myproject.dal.mybatis.enums.SysShortCutOwnerTypeEnum;
//import com.cmf.myproject.dal.mybatis.mapper.SysShortCutMapper;
//import com.cmf.myproject.dal.mybatis.model.SysShortCut;
//import com.cmf.myproject.dal.mybatis.model.SysShortCutExample;
//import com.cmf.myproject.dal.mybatis.model.SysShortCutExample.Criteria;
//import com.cmf.myproject.service.sysShortCut.dto.SysShortCutAddItemReqDto;
//import com.cmf.myproject.service.sysShortCut.dto.SysShortCutQueryFilter;
//import com.cmf.myproject.service.sysShortCut.dto.SysShortCutUpdateItemReqDto;
//import com.github.pagehelper.Page;
//import com.github.pagehelper.PageHelper;
//import com.system.core.results.ResultBase;
//import com.system.core.view.layui.table.TableViewRspDto;
//
//import lombok.extern.slf4j.Slf4j;
//
//@Slf4j
//public class SysShortCutService {
//	
//	private SimpleDateFormat timeformat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//	
//	@Autowired
//	private SysShortCutMapper sysShortCutMapper;
//	
//	/**
//	 * 页面列表查询
//	 * @return TableViewRspDto 返回TableViewRspDto视图对象，符合Layui规范
//	 */
//	public TableViewRspDto<SysShortCut> sysShortCutList(SysShortCutQueryFilter filter){
//		log.debug("[sysShortCut]查询入参：{}",filter);
//		TableViewRspDto<SysShortCut> pageResult = new TableViewRspDto<SysShortCut>();
//		SysShortCutExample example = new SysShortCutExample();
//		Criteria criteria = example.createCriteria();
//		//在此插入查询条件start
//		if(filter.getShortCutId() != null) {
//			criteria.andShortCutIdEqualTo(filter.getShortCutId());
//		}
//		if(StringUtils.isNotBlank(filter.getName())) {
//			criteria.andNameEqualTo(filter.getName());
//		}
//		if(StringUtils.isNotBlank(filter.getUrl())) {
//			criteria.andUrlEqualTo(filter.getUrl());
//		}
//		if(filter.getEnable() != null) {
//			criteria.andEnableEqualTo(filter.getEnable());
//		}
//		if(filter.getOwnerType() != null) {
//			criteria.andOwnerTypeEqualTo(filter.getOwnerType());
//		}
//		if(filter.getOpenType() != null) {
//			criteria.andOpenTypeEqualTo(filter.getOpenType());
//		}
//		if(filter.getOwerId() != null) {
//			criteria.andOwerIdEqualTo(filter.getOwerId());
//		}
//		if(StringUtils.isNotBlank(filter.getIcon())) {
//			criteria.andIconEqualTo(filter.getIcon());
//		}
//		/**
//		 * jdbcType:timestamp
//		 */
//		try {
//			if(StringUtils.isNotBlank(filter.getCreateTimeStrStart())) {
//				criteria.andCreateTimeGreaterThanOrEqualTo(timeformat.parse(filter.getCreateTimeStrStart()));
//			}
//			if(StringUtils.isNotBlank(filter.getCreateTimeStrEnd())) {
//				criteria.andCreateTimeLessThanOrEqualTo(timeformat.parse(filter.getCreateTimeStrEnd()));
//			}
//		} catch (ParseException e) {
//			e.printStackTrace();
//			pageResult.setMessage(e.getMessage());
//			return pageResult;
//		}
//		/**
//		 * jdbcType:timestamp
//		 */
//		try {
//			if(StringUtils.isNotBlank(filter.getUpdateTimeStrStart())) {
//				criteria.andUpdateTimeGreaterThanOrEqualTo(timeformat.parse(filter.getUpdateTimeStrStart()));
//			}
//			if(StringUtils.isNotBlank(filter.getUpdateTimeStrEnd())) {
//				criteria.andUpdateTimeLessThanOrEqualTo(timeformat.parse(filter.getUpdateTimeStrEnd()));
//			}
//		} catch (ParseException e) {
//			e.printStackTrace();
//			pageResult.setMessage(e.getMessage());
//			return pageResult;
//		}
//		//在此插入查询条件end
//		
//		Page<SysShortCut> page = PageHelper.startPage(filter.getPage(), filter.getLimit());
//		example.setOrderByClause("create_time desc");
//		pageResult.setData(sysShortCutMapper.selectByExample(example));
//		pageResult.setCount(page.getTotal());
//		pageResult.setCode(0);
//		pageResult.setMessage("查询成功");
//		return pageResult;
//	}
//	
//	/**
//	 * 根据主键获取单条数据
//	 * @param sysShortCut 使用sysShortCut对象的主键属性ShortCutId类型是Long
//	 */
//	public SysShortCut sysShortCutGetByPrimaryKey(SysShortCut sysShortCut) {
//		SysShortCut result = sysShortCutMapper.selectByPrimaryKey(sysShortCut.getShortCutId());
//		return result;
//	}
//	
//	/**
//	 * 根据主键更新数据
//	 * @param sysShortCut 被更新对象（请注意，只更新有值属性）
//	 */
//	public ResultBase sysShortCutUpdateByPrimaryKey(SysShortCutUpdateItemReqDto sysShortCutUpdateItemReqDto) {
//		ResultBase resultBase = new ResultBase();
//		SysShortCut sysShortCut = new SysShortCut();
//		BeanUtils.copyProperties(sysShortCutUpdateItemReqDto, sysShortCut);
//		sysShortCutMapper.updateByPrimaryKey(sysShortCut);
//		resultBase.setSuccess(true);
//		resultBase.setMessage("更新成功");
//		return resultBase;
//	}
//	
//	/**
//	 * 根据主键删除数据
//	 * @param keys 被删除对象主键List集合
//	 */
//	@Transactional
//	public ResultBase sysShortCutDeleteByPrimaryKey(List<Long> keys) {
//		ResultBase resultBase = new ResultBase();
//		try {
//			keys.forEach((key)->{
//				sysShortCutMapper.deleteByPrimaryKey(key);
//			});
//		} catch (Exception e) {
//			resultBase.setMessage(e.getMessage());
//			return resultBase;
//		}
//		resultBase.setSuccess(true);
//		resultBase.setMessage("成功删除"+keys.size()+"条记录");
//		return resultBase;
//	}
//	
//	/**
//	 * 新增数据
//	 * @param sysShortCutAddItemReqDto 新增对象
//	 */
//	@Transactional
//	public ResultBase sysShortCutSave(SysShortCutAddItemReqDto sysShortCutAddItemReqDto) {
//		ResultBase resultBase = new ResultBase();
//		SysShortCut sysShortCut = new SysShortCut();
//		BeanUtils.copyProperties(sysShortCutAddItemReqDto, sysShortCut);
//		if(StringUtils.isBlank(sysShortCut.getIcon())) {
//			sysShortCut.setIcon(null);
//		}
//		sysShortCutMapper.insertSelective(sysShortCut);
//		resultBase.setSuccess(true);
//		resultBase.setMessage("新增成功");
//		return resultBase;
//	}
//	
//	public List<SysShortCut> actived(){
//		SysShortCutExample example = new SysShortCutExample();
//		example.createCriteria().andOwnerTypeEqualTo(SysShortCutOwnerTypeEnum.system).andEnableEqualTo(true);
//		example.setOrderByClause("sort");
//		return sysShortCutMapper.selectByExample(example);
//	}
//}
